package com.snail.jj.androiddemos.tools;

import android.net.Uri;

/**
 * Created by snail on 2017/8/2.
 */

public class Articles {

    //保存文章信息的数据表的四个列名
    public static final String ID = "_id";

    public static final String TITLE = "_title";

    public static final String ABSTRACT = "_abstract";

    public static final String URL = "_url";

    //查询数据时的排列方式
    public static final String DEFAULT_SORT_ORDER = "_id asc";

    //调用ContentProvider接口的一个未公开函数call来查询数据用的
    public static final String METHOD_GET_ITEM_COUNT = "METHOD_GET_ITEM_COUNT";

    public static final String KEY_ITEM_COUNT = "KEY_ITEM_COUNT";

    /**
     *
     * URI:Universal Resource Identifier 通用资源标识符，通过它用来唯一标志某个资源在网络中的位置
     * 它的结构和我们常见的HTTP形式URL是一样的，URI是在更高一个层次上的抽象。
     *
     *  [content://][shy.luo.providers.articles][/item][/123]
     *
     *  |-----A-----|------------B--------------|--C--|--D--|
     *
     *  A组件称为Scheme，它固定为content://，表示它后面的路径所表示的资源是由Content Provider来提供的
     *
     *  B组件称为Authority，它唯一地标识了一个特定的Content Provider，因此，这部分内同一般使用Content Provider
     *  所在的package来命名，使得它是唯一的
     *
     *  C组件称为资源路径，它表示所请求的资源的类型，这部分内容就可以忽略了；如果我们自己实现的Content Provider同时提供了
     *  多种类型的资源访问，那么这部分内容就不可以忽略。例如：我们有两种电脑资源可以提供给用户访问，一种是笔记本电脑，一种是
     *  平板电脑，我们就把分别他们定义为notebook和pad；如果进一步按照系统类型进行细分这两种电脑资源，对于笔记本来说，一种是
     *  安装了windows系统的，一种是Linux系统的，我们就分别把它们定义为notebook/windows和notebook/linux。
     *
     *  D组件称为资源ID，它表示所请求的是一个特定的资源，它通常是一个数字，对应前面我们所介绍的数据库表中的_id字段的内容，它唯一
     *  地标志了某一种资源下的一个特定的实例。继续以前面的电脑资源为例，如果我们请求的编号为123的装了android系统的平板电脑，我们就
     *  把它定义为pad/android/123。当忽略这部分内容时，它又可能是表示请求某一种资源下的所有实例，取决于我们的URI匹配规则，后面我们
     *  将会进一步解释如果设置URI匹配规则。
     */

    public static final String AUTHORITY = "com.snail.jj.androiddemos.tools";

    /* Match Code*/

    public static final int ITEM = 1;

    public static final int ITEM_ID = 2;

    public static final int ITEM_POS = 3;

    /*MIME*/
    public static final String CONTENT_TYPE =
            "vnd.android.cursor.dir/vnd.com.snail.jj.androiddemos.tools";

    public static final String CONTENT_ITEM_TYPE =
            "vnd.android.cursor.item/vnd.com.snail.jj.androiddemos.tools";

    public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/item");

    public static final Uri CONTENT_POS_URI = Uri.parse("content://" + AUTHORITY + "/pos");


}
